在 UIKit 中的 UISwitch ,在 Swift 就是 Toggle 了。而 Toggle 有 UISwitch 所沒有的功能,那今天就來分享基本的使用方法吧!
如下,可以用一個 property 來取得 Toggle 的開啟狀態
struct ContentView: View {
@State private var isOn = false
var body: some View {
VStack {
Toggle(isOn: $isOn) {
Text("顯示")
}
.padding()
Spacer()
}
}
}
如下,可以根據 isOn 的狀態進行畫面變更
struct ContentView: View {
@State private var isOn = false
var body: some View {
VStack {
Toggle(isOn: $isOn) {
Text("開關")
}
.padding()
if isOn {
Text("已開啟")
}
Spacer()
}
}
}
toggleStyle 能夠設定 toggle 的外觀,預設是 .switch
那我們來變更看看,這同時也是 UISwitch 沒有的功能,只要在後面加入一行如下:
Toggle(isOn: $isOn) {
Text("開關")
}
.toggleStyle(.button)
成果如下
以上,就是 Toggle 的基本用法,可以應用在 app 設定,或是表單內個別項目的開關。
那今天的 SwiftUI 大大小小就到這邊,明天見!
本篇使用到的 UI 元件和 modifiers 基本上沒有受到版本更新影響。若要在 Xcode 14 等環境下使用也是沒問題的。